package net.mfjassociates.finance.domain.mfjfin_newdb;

import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.roo.addon.jpa.identifier.RooIdentifier;

@Embeddable
@RooIdentifier(dbManaged = false)
public final class TimeCardExpensesPK {

	@Column(name = "TimeCardExpenseID", nullable = false)
    private Integer timeCardExpenseId;

	@Column(name = "TimeCardID", nullable = false)
    private Integer timeCardId;

	@Column(name = "ExpenseDate", nullable = false)
    @Temporal(TemporalType.DATE)
    @DateTimeFormat(style = "M-")
    private Date expenseDate;

	@Column(name = "ProjectID", nullable = false)
    private Integer projectId;

	@Column(name = "ExpenseDescription", nullable = false, length = 255)
    private String expenseDescription;

	@Column(name = "ExpenseAmount", nullable = false, precision = 19, scale = 4)
    private BigDecimal expenseAmount;

	@Column(name = "ExpenseCodeID", nullable = false)
    private Integer expenseCodeId;

	public TimeCardExpensesPK(Integer timeCardExpenseId, Integer timeCardId, Date expenseDate, Integer projectId, String expenseDescription, BigDecimal expenseAmount, Integer expenseCodeId) {
        super();
        this.timeCardExpenseId = timeCardExpenseId;
        this.timeCardId = timeCardId;
        this.expenseDate = expenseDate;
        this.projectId = projectId;
        this.expenseDescription = expenseDescription;
        this.expenseAmount = expenseAmount;
        this.expenseCodeId = expenseCodeId;
    }

	private TimeCardExpensesPK() {
        super();
    }

	public Integer getTimeCardExpenseId() {
        return timeCardExpenseId;
    }

	public Integer getTimeCardId() {
        return timeCardId;
    }

	public Date getExpenseDate() {
        return expenseDate;
    }

	public Integer getProjectId() {
        return projectId;
    }

	public String getExpenseDescription() {
        return expenseDescription;
    }

	public BigDecimal getExpenseAmount() {
        return expenseAmount;
    }

	public Integer getExpenseCodeId() {
        return expenseCodeId;
    }
}
